# Scala - ✯

Материалы отсортированы по версии Scala (Scala 3/Scala 2), языку (русский/english), а затем - по алфавиту.

## Книги и документация

| Название                                                                                                                                                                                                                                            | Версия  | Язык | Дата | Комментарий |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------:|:----:|------|-------------|
| [Scala. Профессиональное программирование. 5-е изд](https://www.piter.com/product/scala-professionalnoe-programmirovanie-5-e-izd)                                                                                                                   | Scala 3 |  Ру  | 2022 |             |
| [Advanced Programming in Scala, Fifth Edition](https://www.artima.com/shop/advanced_programming_in_scala_5ed)                                                                                                                                       | Scala 3 |  En  | 2022 |             |
| [Creative Scala](https://www.creativescala.org/)                                                                                                                                                                                                    | Scala 3 |  En  | 2020 |             |
| [Get Programming with Scala](https://www.manning.com/books/get-programming-with-scala)                                                                                                                                                              | Scala 3 |  En  | 2021 |             |
| [Programming in Scala, Fifth Edition](https://www.artima.com/shop/programming_in_scala_5ed)                                                                                                                                                         | Scala 3 |  En  | 2021 |             |
| [Scala 3 Programming for Beginners by Nathan Metzler](https://www.amazon.com/Scala-Programming-Beginners-Introduction-Hands-ebook/dp/B09NDTC95J)                                                                                                    | Scala 3 |  En  | 2021 |             |
| [Scala Best Practices](https://github.com/alexandru/scala-best-practices)                                                                                                                                                                           | Scala   |  En  | 2016 | Общее       |
| [Scala Language Specification](https://scala-lang.org/files/archive/spec/3.4/)                                                                                                                                                                      | Scala 3 |  En  | 2023 |             |
| [Spire - a numeric library for Scala](https://typelevel.org/spire)                                                                                                                                                                                  | Scala 3 |  En  | 2023 |             |
| [Путеводитель неофита по Scala](https://github.com/anton-k/ru-neophyte-guide-to-scala)                                                                                                                                                              | Scala 2 |  Ру  | 2014 |             |
| [All about Scala](https://allaboutscala.com/)                                                                                                                                                                                                       | Scala 2 |  En  | 2020 |             |
| [Essential Scala](https://books.underscore.io/essential-scala/essential-scala.html)                                                                                                                                                                 | Scala 2 |  En  | 2017 |             |
| [Functional Programming by Alexander Alvin](https://alvinalexander.com/photos/functional-programming-simplied-free-pdf-preview/)                                                                                                                    | Scala 2 |  En  | 2017 |             |
| [Hello Scala by Alexander Alvin](https://alvinalexander.com/photos/hello-scala-free-pdf-preview/)                                                                                                                                                   | Scala 2 |  En  | 2019 |             |
| [Scala Cookbook by Alexander Alvin](https://www.amazon.com/Scala-Cookbook-Object-Oriented-Functional-Programming-dp-1492051543/dp/1492051543?&linkCode=sl1&tag=devdaily-20&linkId=d089a7152c070d0ae50814301bb12d21&language=en_US&ref_=as_li_ss_tl) | Scala 2 |  En  | 2021 |             |
| [The Neophyte's Guide to Scala](https://danielwestheide.com/books/the-neophytes-guide-to-scala)                                                                                                                                                     | Scala 2 |  En  | 2013 |             |
| [The Type Astronaut's Guide to Shapeless Book](https://underscore.io/books/shapeless-guide)                                                                                                                                                         | Scala 2 |  En  | 2017 |             |

## Курсы

| Название                                                                                                                                             | Версия  | Язык | Дата | Комментарий                                                                  |
|------------------------------------------------------------------------------------------------------------------------------------------------------|:-------:|:----:|------|------------------------------------------------------------------------------|
| [Effective Programming in Scala](https://www.coursera.org/learn/effective-scala)                                                                     | Scala 3 |  En  | 2021 |                                                                              |
| [Functional Programming in Scala - 1 Принципы функционального программирования в Scala](https://www.coursera.org/learn/scala-functional-programming) | Scala 3 |  En  | 2021 |                                                                              |
| [Functional Programming in Scala - 2 Functional Program Design in Scala](https://www.coursera.org/learn/scala-functional-program-design)             | Scala 3 |  En  | 2021 |                                                                              |
| [Functional Programming in Scala - 3 Параллельное программирование](https://www.coursera.org/learn/scala-parallel-programming)                       | Scala 3 |  En  | 2021 |                                                                              |
| [Scala & Functional Programming Essentials - Rock the JVM](https://rockthejvm.com/p/scala)                                                           | Scala 3 |  En  | 2022 | [Udemy link](https://www.udemy.com/course/rock-the-jvm-scala-for-beginners/) |
| [Scala at Light Speed - Rock the JVM](https://rockthejvm.com/p/scala-at-light-speed)                                                                 | Scala 3 |  En  | 2023 |                                                                              |
| [Scala 3 & Functional Programming Essentials - Rock the JVM](https://rockthejvm.com/p/scala)                                                         | Scala 3 |  En  | 2023 |                                                                              |
| [Scala 3 New Features - Rock the JVM](https://rockthejvm.com/p/scala-3-new-features)                                                                 | Scala 3 |  En  | 2023 |                                                                              |
| [Введение в Scala](https://stepik.org/course/16243/promo)                                                                                            | Scala 2 |  Ру  | 2019 |                                                                              |
| [Основы Scala](https://stepik.org/course/89974/promo)                                                                                                | Scala 2 |  Ру  | 2021 |                                                                              |
| [Scala Tutorial](https://stepik.org/course/55498/promo)                                                                                              | Scala 2 |  En  | 2021 |                                                                              |

## Упражнения

| Название                                                    | Версия  | Язык | Дата | Комментарий |
|-------------------------------------------------------------|:-------:|:----:|------|-------------|
| [Exercism - Scala track](https://exercism.org/tracks/scala) | Scala 2 |  En  |      |             |
| [Scala exercises](https://www.scala-exercises.org/)         | Scala 2 |  En  |      |             |
| [Scala tutorials](http://scalatutorials.com/tour/)          | Scala 2 |  En  |      |             |
| [Tour of Scala](https://tourofscala.com/)                   | Scala 2 |  En  |      |             |

## Статьи

| Название                                                                                                                                                                                      | Версия  | Язык | Дата | Комментарий                 |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------:|:----:|------|-----------------------------|
| [A Comprehensive Guide to Choosing the Best Scala Course - Rock the JVM](https://blog.rockthejvm.com/best-scala-courses/)                                                                     | Scala 3 |  En  | 2023 | Выбор курсов в Scala        |
| [Build your vocabulary with Scala affixes](https://rossabaker.com/blog/scala-affixes)                                                                                                         | Scala 3 |  En  | 2023 | Префиксы и суффиксы в Scala |
| [Dependent types. Part I](https://medium.com/scala-3/scala-3-dependent-types-part-i-273e9076e8f8?source=rss----de7527e0301e---4)                                                              | Scala 3 |  En  | 2023 |                             |
| [Dependent types. Part II](https://medium.com/scala-3/scala-3-dependent-types-part-ii-e7fc04dbfb08?source=rss----de7527e0301e---4)                                                            | Scala 3 |  En  | 2023 |                             |
| [Descriptive Variable Names: A Code Smell](https://degoes.net/articles/insufficiently-polymorphic)                                                                                            |  Scala  |  En  | 2016 |                             |
| [Exploring Scala CLI — the new scala runner](https://medium.com/virtuslab/exploring-scala-cli-the-new-scala-runner-4b958245c2e0)                                                              | Scala 3 |  En  | 2023 |                             |
| [From First Principles: Why Scala?](https://www.lihaoyi.com/post/FromFirstPrinciplesWhyScala.html)                                                                                            |  Scala  |  En  | 2021 |                             |
| [Immutable Collections should be Your Default](https://alexn.org/blog/2022/10/27/immutable-collections-your-default/?pk_campaign=rss)                                                         | Scala 3 |  En  | 2022 |                             |
| [Infix operator notation](https://medium.com/scala-3/scala-3-infix-operator-notation-26bd7c13d0a3?source=rss----de7527e0301e---4)                                                             | Scala 3 |  En  | 2023 |                             |
| [In Scala 3, use 4 Spaces for Indentation](https://alexn.org/blog/2023/11/08/in-scala-3-use-4-spaces-for-indentation)                                                                         | Scala 3 |  En  | 2023 |                             |
| [Let’s Talk About the Scala 3 Indentation - Rock the JVM](https://blog.rockthejvm.com/scala-3-indentation/)                                                                                   | Scala 3 |  En  | 2020 |                             |
| [Principles of developing applications in Scala](https://softwaremill.com/principles-of-developing-applications-in-scala/)                                                                    | Scala 3 |  En  | 2023 |                             |
| [Scala as a Junior Developer](https://blog.rockthejvm.com/scala-as-a-junior-dev)                                                                                                              | Scala 3 |  En  | 2023 |                             |
| [Scala Made Simple for Beginners](https://yadukrishnan.live/scala-made-simple-for-beginners-a-gentle-introduction-to-kickstarting-your-scala-learning)                                        | Scala 3 |  En  | 2023 |                             |
| [Scripting with Scala](https://alexn.org/blog/2022/09/13/scripting-with-scala/)                                                                                                               | Scala 3 |  En  | 2023 |                             |
| [TestContainers in Scala: Use Integration Tests for building your services](https://scalac.io/blog/testcontainers-in-scala-use-integration-tests-for-building-your-services/)                 | Scala 3 |  En  | 2023 |                             |
| [Two types of futures](https://softwaremill.com/two-types-of-futures/)                                                                                                                        | Scala 3 |  En  | 2023 |                             |
| [What's Functional Programming All About?](https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html)                                                                              |  Scala  |  En  | 2017 |                             |
| [Why are Type Classes Useful in Scala? - Rock the JVM](https://blog.rockthejvm.com/why-are-typeclasses-useful/)                                                                               | Scala 3 |  En  | 2020 |                             |
| [Имплиситы и тайпклассы в Scala](https://blog.ainur-khakimov.ru/posts/scala-implicits-and-typeclasses/)                                                                                       | Scala 2 |  Ру  | 2024 |                             |
| [Benchmarking Scala Collections](http://www.lihaoyi.com/post/BenchmarkingScalaCollections.html)                                                                                               | Scala 2 |  En  | 2016 |                             |
| [Best practice for natural Ordering](https://alexn.org/blog/2020/11/17/best-practice-for-ordering-comparable)                                                                                 | Scala 2 |  En  | 2020 |                             |
| [Fatal Warnings and Linting in Scala - Alexandru Nedelcu](https://alexn.org/blog/2020/05/26/scala-fatal-warnings)                                                                             | Scala 2 |  En  | 2020 |                             |
| [Martians vs Monads: Null Considered Harmful](https://james-iry.blogspot.com/2007/08/martians-vs-monads-null-considered.html)                                                                 | Scala 2 |  En  | 2007 |                             |
| [My Dos and Don'ts in sbt Build Definitions](https://www.chris-kipp.io/blog/my-dos-and-donts-in-sbt-build-definitions)                                                                        | Scala 2 |  En  | 2021 |                             |
| [On Scala, Functional Programming and Type-Classes](https://alexn.org/blog/2012/11/02/scala-functional-programming-type-classes)                                                              | Scala 2 |  En  | 2012 |                             |
| [Of Algebirds, Monoids, Monads, and other Bestiary for Large-Scale Data Analytics](https://www.michael-noll.com/blog/2013/12/02/twitter-algebird-monoid-monad-for-large-scala-data-analytics) | Scala 2 |  En  | 2013 |                             |
| [Shared package code? Fear no more!](https://danielasfregola.com/2014/12/28/shared-package-code-fear-no-more)                                                                                 | Scala 2 |  En  | 2014 |                             |
| [Super Powers to Qualified Access Modifiers](https://danielasfregola.com/2014/12/31/super-powers-to-qualified-access-modifiers)                                                               | Scala 2 |  En  | 2014 |                             |
| [Tail Recursive Functions in Scala](https://alexn.org/blog/2021/01/26/tail-recursive-functions-in-scala)                                                                                      | Scala 2 |  En  | 2021 |                             |
| [The Power of Type-classes with Scala implicit defs](https://blog.tmorris.net/posts/the-power-of-type-classes-with-scala-implicit-defs/index.html)                                            | Scala 2 |  En  | 2007 |                             |
| [Traits are better than Legos!](https://danielasfregola.com/2014/12/24/traits-are-better-than-legos)                                                                                          | Scala 2 |  En  | 2014 |                             |
| [What is F\[\_\] in Scala?](https://xebia.com/blog/what-is-F-with-hole-in-scala/)                                                                                                             | Scala 2 |  En  | 2021 |                             |

## Видео

| Название                                                                                                                                           | Версия  | Язык | Дата | Комментарий |
|----------------------------------------------------------------------------------------------------------------------------------------------------|:-------:|:----:|------|-------------|
| [Scala. Война Эффектов. ZIO vs Cats Effect - Олег Нижников](https://www.youtube.com/watch?v=jRVvj_2yWkE)                                           | Scala 3 |  Ру  | 2021 |             |
| [10+ Scala Concepts You Need to Know - DevInsideYou](https://www.youtube.com/watch?v=nI57LUpjGrk)                                                  | Scala 3 |  En  | 2023 |             |
| [A Tour of Scala 3 - Martin Odersky](https://www.youtube.com/watch?v=_Rnrx2lo9cw)                                                                  | Scala 3 |  En  | 2023 |             |
| [Functional Programming in Scala - DevInsideYou](https://www.youtube.com/playlist?list=PLJGDHERh23x8AD0LFiS9iPg_tKLS1i1wZ)                         | Scala 3 |  En  | 2022 |             |
| [Proper and Basic Property-Based Testing](https://www.youtube.com/watch?v=FS_VJOQfogc)                                                             | Scala 3 |  En  | 2023 |             |
| [Scala 3 - Rock the JVM](https://www.youtube.com/watch?v=orTmm6OMaLw&list=PLmtsMNDRU0BwsVUbhsH2HMqDMPNhQ0HPc)                                      | Scala 3 |  En  | 2020 |             |
| [Scala Beyond 3.0 - The Quest for Simplicity - Martin Odersky](https://www.youtube.com/watch?v=NXTjnowBx-c)                                        | Scala 3 |  En  | 2021 |             |
| [Scala Tips - Rock the JVM](https://www.youtube.com/playlist?list=PLmtsMNDRU0Bzj7INIrLugi3a_WClwQuiS)                                              | Scala 3 |  En  | 2023 |             |
| [Scala's Role in the Programming Languages Ecosystem - Martin Odersky](https://www.youtube.com/watch?v=7mTNZeiIK7E)                                | Scala 3 |  En  | 2023 |             |
| [The Best Scala Libraries I Use in Every Project - DevInsideYou](https://www.youtube.com/watch?v=ZymD5NuOwdA)                                      | Scala 3 |  En  | 2023 |             |
| [Typeclasses in Scala 3 - Colombia Scala meetup/Scala at the Sea](https://www.youtube.com/watch?app=desktop&v=co4LSvVoX-s)                         | Scala 3 |  En  | 2022 |             |
| [Basics of Object-Orientation - Mark Lewis](https://www.youtube.com/watch?v=ILk_WBYsqec&list=PLF6CAC63C615DB881)                                   | Scala 2 |  En  | 2013 |             |
| [Data Juggling - DevInsideYou](https://www.youtube.com/watch?v=ezz0BpEHEQY&list=PLJGDHERh23x9Wzcbc7j9ZDl03tKQF5QDN&index=1)                        | Scala 2 |  En  | 2020 |             |
| [Functional Scala - Scala in the city](https://www.youtube.com/playlist?list=PLjtl9Y7VJMWtZz3g0LjMhO54_KBL8Tfwl)                                   | Scala 2 |  En  | 2020 |             |
| [Introduction to Programming and Problem Solving Using Scala](https://www.youtube.com/watch?v=V-wKBH-gUeo&list=PLLMXbkbDbVt9z5dcm7uRgG3Fhw3u9LKoF) | Scala 2 |  En  | 2015 |             |
| [Language-Agnostic Tips - Rock the JVM](https://www.youtube.com/watch?v=0wmcCdoExbM&list=PLmtsMNDRU0ByxKWa4h2LMn9oXyeDEJbnC)                       | Scala 2 |  En  | 2021 |             |
| [Scala - Your First Programming Language - DevInsideYou](https://www.youtube.com/playlist?list=PLJGDHERh23x-YBJ8LmYU_IGBFflvsKfLu)                 | Scala 2 |  En  | 2022 |             |
| [Scala at Light Speed - Rock the JVM](https://www.youtube.com/playlist?list=PLmtsMNDRU0BxryRX4wiwrTZ661xcp6VPM)                                    | Scala 2 |  En  | 2020 |             |
| [Scala Collections - DevInsideYou](https://www.youtube.com/playlist?list=PLJGDHERh23x-4bTASKbtwhhAuP6rYQJqE)                                       | Scala 2 |  En  | 2020 |             |
| [Scala Variables - Rock the JVM](https://www.youtube.com/watch?v=dhe1T_ttPTI&list=PLmtsMNDRU0By6XxGZIcynXYi5RaZtaZC1)                              | Scala 2 |  En  | 2020 |             |
| [The Typeclass Pattern - An Alternative to Inheritance](https://www.youtube.com/watch?v=yYo0gANYViE)                                               | Scala 2 |  En  | 2012 |             |
| [Tutorial: Typeclasses in Scala with Dan Rosen](https://www.youtube.com/watch?v=sVMES4RZF-8)                                                       | Scala 2 |  En  | 2012 |             |
| [Type-Level Programming in Scala - Rock the JVM](https://www.youtube.com/watch?v=qwUYqv6lKtQ&list=PLmtsMNDRU0ByOQoz6lnihh6CtMrErNax7)              | Scala 2 |  En  | 2021 |             |
| [Vivisecting the Veil of Variance](https://www.youtube.com/watch?v=dPbbqrhm-WY)                                                                    | Scala 2 |  En  | 2023 |             |
| [Why are Type Classes useful in Scala? - Rock the JVM](https://www.youtube.com/watch?v=bupBZKJT0EA)                                                | Scala 2 |  En  | 2020 |             |
